package io.renren.modules.edu.service;


import com.baomidou.mybatisplus.extension.service.IService;
import io.renren.modules.edu.dto.EChartsDTO;
import io.renren.modules.edu.dto.TEduTeacherinfoDTO;
import io.renren.modules.edu.entity.TEduTeacherinfoEntity;
import io.renren.modules.edu.vo.TEduTeacherinfoVO;

import java.util.List;
import java.util.Map;

/**
 * 教师信息表
 *
 * @author zwp zwp
 * @since 1.0.0 2022-07-11
 */
public interface TEduTeacherinfoService extends IService<TEduTeacherinfoEntity> {

    /**
     * 保存
     * @param tEduTeacherinfoDTO
     */
    void save(TEduTeacherinfoDTO tEduTeacherinfoDTO);

    /**
     * 修改
     * @param tEduTeacherinfoDTO
     */
    void update(TEduTeacherinfoDTO tEduTeacherinfoDTO);

    /**
     * 获取教师信息
     * @param id
     * @return
     */
    TEduTeacherinfoVO queryTeacherInfoById(Long id);

    /**
     * 获取登录的教师信息
     * @param params
     * @return
     */
    TEduTeacherinfoVO queryTeacherInfo(Map<String, Object> params);

    /**
     * 录入教师信息
     * @param dto
     */
    void onSubmit(TEduTeacherinfoDTO dto);

    /**
     * 根据系统用户ID获取教师信息
     * @param sysUserId
     * @return
     */
    TEduTeacherinfoVO queryTeacherBySysUserId(Long sysUserId);

    /**
     * 根据系统用户姓名获取教师信息
     * @param realName
     * @return
     */
    TEduTeacherinfoVO queryTeacherByRealName(String realName);

    /**
     * 根据教师职称进行分类
     * @param params
     * @return
     */
    List<EChartsDTO> queryTeacherJob(Map<String, Object> params);

    /**
     * 获取部门概况分类
     * @param params
     * @return
     */
    List<EChartsDTO> queryDepartmentJob(Map<String, Object> params);

    /**
     * 根据userId删除教师信息
     * @param userIds
     */
    void deleteTeacherInfoBySysUserId(Long[] userIds);
}
